recorder: Print the matrix for transform nodes
authorBenjamin Otte <otte@redhat.com>
Tue, 19 Feb 2019 03:16:00 +0000 (04:16 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 19 Feb 2019 04:52:11 +0000 (05:52 +0100)
gtk/inspector/recorder.c

index 8601e77c37bc0a4a13d547f0c3793e3e07a4398a..26ae9cbdd2c45555e5a473cd2551c120146a7ada 100644 (file)
@@ -899,8 +899,24 @@ populate_render_node_properties (GtkListStore  *store,
       add_float_row (store, "y offset", gsk_offset_node_get_y_offset (node));
       break;
 
-    case GSK_NOT_A_RENDER_NODE:
     case GSK_TRANSFORM_NODE:
+      {
+        float f[16];
+        guint i;
+
+        graphene_matrix_to_float (gsk_transform_node_peek_transform (node), f);
+        for (i = 0; i < 4; i++)
+          {
+            char *row_string = g_strdup_printf ("%.2f, %.2f, %.2f, %.2f",
+                                                f[4 * i], f[4 * i + 1],
+                                                f[4 * i + 2], f[4 * i + 3]);
+            add_text_row (store, i == 0 ? "Matrix" : "", row_string);
+            g_free (row_string);
+          }
+      }
+      break;
+
+    case GSK_NOT_A_RENDER_NODE:
     default:
       break;
     }